'''
随机点名工具
规则：根据学生名单（学号，姓名），随机抽查点名，如果学生在，那么标记已到，
如果不在，那么标记未到。最后统计点名结果。

设计：
1、有学生名单，学生有学号和姓名
2、从学生名单中随机抽查一名学生
3、点名（根据实际情况标记，学生是否在教室）
如果在，标记已到，如果不在，标记未到。（更新到点名表里面）
4、选择是否继续点名，如果否，那么我们就显示点名的结果
如果是，我们就继续下一位同学的点名（随机在抽查一个学生）


'''
import random

# 学生名单
students = [{'no':'001','name':'刘1'},
            {'no':'002','name':'刘2'},
            {'no':'003','name':'刘3'},
            {'no':'004','name':'刘4'},
            {'no':'006','name':'刘6'},
            {'no':'007','name':'刘7'},
            {'no':'008','name':'刘8'},
            {'no':'009','name':'刘9'},
            {'no':'010','name':'刘10'}]
# 点名的列表
dianm = []
while True:
    if len(students)==len(dianm):
        break
    # 从学生名单中随机抽查一名学生
    stu = random.choice(students)
    if stu in dianm:
        continue
    r = input(f"{stu.get('name')}({stu.get('no')})是否到教室？（是：1，否：0）")
    stu.update({"d":r})
    dianm.append(stu)
    n = input("任意键继续，n结束点名")
    if n == 'n':
        break
# 打印点名结果
print("姓名    到课情况")
for s in dianm:
    d = s.get('d')
    if d =='0':
        dd = '未到'
    else:
        dd = '已到'
    print(f"{s.get('name')}    {dd}")